循环while和do...while语句 |
您所在的位置:网站首页 › do while用法 › 循环while和do...while语句 |
作者:Rose QQ:211124332 一.while语句的基本用法 二.do...while语句的基本用法 三.while与do...while的应用举例 while的格式: while(条件) { 语句体; } 执行过程:当条件成立时,就做语句体,如果不成立就退出循环 我们举个例子: 第一例:求1到10的和: 表示:当i等于1的时候,s等于0;1第二例: #include “stdio.h” main() { int x=3,n=0; while(x--) ( n++; ) printf(“n=%d,x=%d”,n,x); } 我们来分析一遍这个程序: 首先定义了两个整型变量x和n。x=3,n=0. 接着while(x--),x--也就是先引用再自减,那么就是x=3成立,那么我们执行n++,n就变成了1,然后我们x就变成了2,然后我们继续循环,x--,当2成立,我们执行n++,n就等于2,x就变成1,之后又来判断条件,当x=1成立,那么我们再次执行n++,那么n变成了3,而x变成了0,然后我们又来循环,当x=0,不成立,那么我们就不执行n++,但是我们的x还是要-1,就等于-1,就比如,我要开公司,我像你借钱开公司,如果开成功了,那么我就还你钱,如果不成功那么我还要还你钱。 结果如图: 第三例: #include “stdio.h” main() { int a=123,s=0; while(a) ( s+=a%10; a/=10; ) printf(“s=%d”,s); } 我们来分析一下:while(a),就是说如果a不等于0的话那么就成立,如果等于0的话就不成立!while(a)就等于while(a!=0)的意思.//这句话很重要!要记一记!//当while(a),也就是a=123成立,那么我们执行s+=a%10;a/1=10;意思就是说,a=123成立那么就s+=a%10;意思是s=s+a余10,就等于0+a余10就等于3,接着执行a/=10,意思就是a=a/10,我们之前的课说了任何数除10那么会去掉最后一位数,那么结果就等于12.然后又来循环,当while(a),a=12成立,那么我们执行s+=a%10,意思就是s=s+12余10,就等于s=3+12余10,s最后结果就是5,接着a/=10,就是说a=a/10,那么a=12/10,结果a就等于1,我们又来循环,当while(a)=1成立,我们执行s+=a%10;s就等于5+a余10,s就是5+1余10就等于1,之后a/=10;就是说1/10就等于0,然后我们又来循环,当while(a)=0不成立,那么我们就退出循环不执行下面的语句.最后s=6。 如图: Do...while语句的基本用法: do...while的格式: do { 语句体; }while(条件); 他是先做语句,再来判断条件 我们来做道题: #include “stdio.h” main() { int x=3; do { printf(“%d”,x-=2); }while(!(--x)); } 我们来分析下:x-=2,x就等于3-2,就等于1.,就先输出1,然后再来判断while(!--x),在这里!是不的意思,那么--x就是1-1等于0,不0那么等于真,我们继续循环,x-=2,那么x=0-2等于-2,所以会输出2,之后呢又来判断,while(!--x)先自减后引用.x就变成-3,我们说过除0以外的都是真,那么-3它也是真,然后不真那么就是等于假,接着就退出循环.所以输出结果是1空格-2 如图: 注意事项: 1.do...while的while后面一定要加分号,但是if和for和while后面一般不要加分号!!! 2.在C语言中,分号也代表一条语句,它代表的是空语句。 3.do...while是先做再判断条件,而while是先判断条件,如果条件成立再来做。所以do...while至少要循环一次,而while它可能一次都不循环! 好了,今天的课程就到这里。不好意思啊,两个星期都没更新教程了,由于在忙其他的事情就耽误了。 Rose QQ:211124332 Rose 博客 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |